﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.ObjectModel;
using System.Text.RegularExpressions;

namespace WebPiket3Csv
{
	public class PointF
	{
		public double X { get; set; }
		public double Y { get; set; }
		public double Z { get; set; }

		public void Set(double _x, double _y)
		{
			X = _x;
			Y = _y;
		}
		public void Set(double _x, double _y, double _z)
		{
			X = _x;
			Y = _y;
			Z = _z;
		}

		public PointF()
		{
			X = 0.0;
			Y = 0.0;
			Z = 0.0;
		}
	}

    public class Splay
    {
        public string From { set; get; }
        public string To { set; get; }

        public double Length { set; get; }
        public double Azimuth { set; get; }
        public double Inc { set; get; }

        public Splay()
        {
            From = "";
            To = "";
            Length = 0.0;
            Azimuth = 0.0;
            Inc = 0.0;
        }
    }

	public class Piket
	{
		public string From { set; get; }
		public string To { set; get; }
        public string Status{ set; get; }
        public string Date{ set; get; }

		public double Length { set; get; }
		public double Azimuth { set; get; }
		public double Inc { set; get; }

		public double Left { set; get; }
		public double Right { set; get; }
		public double Up { set; get; }
		public double Down { set; get; }

		public double Left2 { set; get; }
		public double Right2 { set; get; }
		public double Up2 { set; get; }
		public double Down2 { set; get; }

		public double Dx { set; get; }
		public double Dy { set; get; }
		public double Dz { set; get; }

		public double XFrom { set; get; }
		public double YFrom { set; get; }
		public double ZFrom { set; get; }

		public double XTo { set; get; }
		public double YTo { set; get; }
		public double ZTo { set; get; }

        public string GpsLat { set; get; }
        public string GpsLon { set; get; }
        public string GpsEle { set; get; }

        public ObservableCollection<Splay> Splays { set; get; }

        public Piket()
        {
            From = "";
            To = "";
            Length = 0.0;
            Azimuth = 0.0;
            Inc = 0.0;

            Left = 0.0;
            Left2 = 0.0;
            Right = 0.0;
            Right2 = 0.0;
            Up = 0.0;
            Up2 = 0.0;
            Down = 0.0;
            Down2 = 0.0;

            Dx = 0.0;
            Dy = 0.0;
            Dz = 0.0;

			XFrom = 0.0;
			YFrom = 0.0;
			ZFrom = 0.0;
			XTo = 0.0;
			YTo = 0.0;
			ZTo = 0.0;

            GpsEle = "";
            GpsLat = "";
            GpsLon = "";

            Splays = new ObservableCollection<Splay>();
        }
	}
}
